home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / CONVRT14.ZIP / CONVERT.DOC next >
Text File  |  1994-12-19  |  21KB  |  450 lines

  1.                   Convert, (c) 1994 Jesus Villena, Spain
  2.                    Universidad Politecnica de Valencia
  3.                          Facultad de Informatica
  4.  
  5.                      INTERNET:  usufi4@finf.upv.es
  6.  
  7.                               Version 1.4B
  8.  
  9.  
  10. COPYRIGHT
  11.  
  12. This program is Freeware and may be distributed without any permission of
  13. their author. Their development has been carried out by and for the INTERNET
  14. collective. Collaborates in their improvement and amplification!!!
  15.  
  16. This software is provided as-is. Author makes no warranties on this program.
  17. You use this software at your own risk.
  18.  
  19.  
  20. INTRODUCTION
  21.  
  22. Convert is a MSDOS tool which serves in order to interchange samples between
  23. several formats of sound.  The translation between the several formats offers
  24. the advantage of maintaining the majority of the present information in the
  25. original file if this is possible, i.e. name, loop points, significant
  26. number of bits, number of channels, etc.
  27.  
  28.  
  29. MOTIVATION
  30.  
  31. Convert surged like a domestic project destined to the obtaining of high
  32. quality instruments for the Gravis Ultrasound card starting with files
  33. from professional samplers (Ensoniq EPS, Roland [S] 50, Yamaha TX16W...)
  34. The source code was designed so that out easy their amplification to more
  35. formats. In fact, soon the formats of the most well-known modules were added
  36. (MOD, MTM, FAR, S3M...). A little later they were added the MIDI standard
  37. formats (SDS and SDX) and other formats offered by several manufacturers
  38. (AIFF, IFF, SMP...).
  39.  
  40. At the same time that was added more available formats for the input files,
  41. these same formats, if it was possible, they were available also like
  42. output, so that virtually, any input format would be converted in any
  43. output format.
  44.  
  45.  
  46. FEATURES
  47.  
  48.         - Great quantity of input and output formats:  seeing list.
  49.  
  50.         - Automatic recognition of the input format:  it is not necessary
  51.         specify the type of the input file, Convert detects it automatically.
  52.  
  53.         - Possibility of converting in one pass great quantity of files and
  54.         carry them to some target directory:  They are accepted wildcards
  55.         in order to specify the input files, and a output directory which
  56.         will be filled with the resulting files.
  57.  
  58.         - Ease of use: their utilization is clearly intuitive in order to avoid
  59.         remember difficult combinations of input parameters (for example,if you
  60.         want to use the samples that there is in a file ". PAT" in order to
  61.         utilize them in a module ". MOD", simply specifies -MOD as switch and
  62.         Convert translate each one of the waveforms to the format ". SAM"
  63.         readable for all the mod-editors, without specifying if it is SIGNED or
  64.         UNSIGNED...)
  65.  
  66.         - The program may work with input files of until 16 bits and
  67.         2 channels (Stereo), doing the necessary conversion of these values for
  68.         generating the output format (this is,a WAV file of 16 bits Stereo will
  69.         be converted in 8 bits Mono upon converting it to VOC, for example).
  70.  
  71.         - High probability of success: This program has converted with success
  72.         98% of files I have (others conversion programs generated many errors).
  73.         Especially I have all GKH and AIFF files on ftp.reed.edu (now on
  74.         oak.oakland.edu) and it has converted all very well (except some files
  75.         that was corrupted originally).
  76.  
  77.         - Varios Keyboard Disk Images have been added: Directly supports the
  78.         disk image formats GKH and Giebler Enterprises (both are the most
  79.         common in the internet) for VFX-SD, SD-1, TS-10 (DD y HD), VFX-SD, EPS
  80.         (normal, 16 and 16+), and ASR keyboards and racks units. Convert
  81.         doesn't need, as a difference to other programs, external programs for
  82.         converting these disk images.
  83.  
  84.        - It Comes in this version with some useful utilities: SND2WAV and JOIN
  85.         SND2WAV converts files that can't carry out Convert (files without
  86.         header) and JOIN links pieces which form a unique sample disk for
  87.         Kurzweil and Ensonig formats.
  88.  
  89.         - LoopPoints and WaveSample Length shows samples, nor bytes, similary
  90.         to other packages. Sizes are still in bytes.
  91.  
  92. NEW!!    - Full support for the SoundBlaster AWE32 format. Now, you can read
  93.     and write SBK files (Vienna compatibles) with many features. Try it.
  94.  
  95. NEW!!   - Stereo support for SBK files, using multiyering capabilities of
  96.     the SoundBlaster AWE32.
  97.  
  98. NEW!!    - Bidirectional to Forward looping conversion, useful in formats
  99.     without bidirectional capabilities.
  100.  
  101. NEW!!   - Three pro formats have been added as output: Yamaha TX16W, Yamaha
  102.     SY-85/SY-99 and Ensoniq Instrument file. The files generated with
  103.     this option haven't been tested. Please test it and tell me.
  104.  
  105.  
  106. FORMAT IDENTIFICATION
  107.  
  108. The formats which Convert works in this version are the following:
  109.  
  110.     Alias        Meaning
  111.     -----       -------------------------------------------
  112.         669         669 Tracker Module
  113.         AIFF        Audio Interchange Format File (AIFF)
  114.         AU          Sun/Next Audio File
  115.         DMF         Delusion Digital Music File
  116.         DSF         Delusion Digital Sound File
  117.         DSM         Digital Sound Module
  118.     DSP        Dynamic Studio Professional Module
  119.         FAR         Farandole Composer Module
  120.         FSM         Farandole Composer WaveSample
  121.         F2R         Farandole Linear Module
  122.         F3R         Farandole Blocked Linear Module
  123.         GKH        Ensoniq Disk Image (VFX, SD, EPS, ASR, TS)
  124.         IFF         Interchange Format File (IFF)
  125.         INS        Ensoniq Instrument File
  126.         KRZ         Kurzweil K2000 File
  127.         MED         MED/OctaMED Module
  128.         MOD         Protracker/Fastracker/Startrekker Module
  129.         MTM         MultiTracker Module
  130.         OKT         Oktalizer Module
  131.         PAC         SBStudio II Package or Song
  132.         PAT         Gravis Ultrasound Patch
  133.         PSM         Protracker Studio Module
  134.         RAW         PCM Signed Raw Sound File
  135.         SBK         Emu SoundFont Bank (AWE32 Bank)
  136.         SDK         Roland S-550/S-50/W-30 Disk Image
  137.         SDS         MIDI Sample DUMP Standard File
  138.         SDX         Sample DUMP Exchange File
  139.         SF          IRCAM Sound File"
  140.         SMP         Samplevision File
  141.         SND         PCM Unsigned Raw Sound File
  142.         SOU         SBStudio II Sound File
  143.         STM         Scream Tracker 1 & 2
  144.         S3I        Digiplayer/ST3 Sample File
  145.         S3M         Scream Tracker v3 Module
  146.     SYW        Yamaha SY-85/SY-99 Wave File
  147.         TXW         Yamaha TX-16W Wave File
  148.         ULT         UltraTracker Module
  149.         UNI         UNIMOD Module
  150.         UWF         UltraTracker WaveSample
  151.         VOC         Creative Lab's Sound File
  152.         WAV         Microsoft Windows RIFF WAVE
  153.     XI        Fastracker 2.0 Instrument File
  154.     XM        Fastracker 2.0 Module
  155.  
  156.  
  157. SYNTAX
  158.  
  159. The form of invoking to this tool is the following:
  160.  
  161.           CONVERT [[InputPath/@SearchFile] [OutputPath] [OutFmt] [Switches]]
  162.  
  163. Where:
  164.  
  165. InputPath is the name of the files to convert.  InputPath consists of a route
  166. and a file name, which accept the usual wilcards of DOS.  Examples of
  167. InputPath would be: \SAMPLES\*.*, ..\SAMPLES\ENSONIQ\*.INS, SAMPLE?.*, etc.
  168.  
  169. SearchFile is optional to InputPath and is a text file which let you specify
  170. files to convert, one file path in each line. Comments can be included behind
  171. simbol #. Order can be achieved also specifying number=filepath. This order
  172. is supplied mainly to support AWE32 program numbers, although is valid for
  173. the rest of formats. E.g:
  174.  
  175.      ---File sample.ini---
  176.         # Sample File to obtain the bank sample.bank
  177.         # Use convert @sample.ini -sbk
  178.         0=c:\sounds\bdrum1.wav
  179.         1=c:\insts\snare2.aif
  180.         8=d:\krz\voices.krz
  181.         # This bank will have the sound bdrum1.wav as program 0
  182.         # the sound snare1.aif as program 1
  183.         # and sounds included in voices.krz as programs 8,9,...
  184.  
  185.  
  186. OutputPath specifies the destination directory where Convert will place the
  187. files converted.  If this directory don't exist, Convert creates it.
  188.  
  189. OutFmt is a switch that allows to specify the output format for the files
  190. to convert to.
  191.  
  192. Switches are -8 and -1 , and serves actually to force 8 bits and mono
  193. conversion.
  194.  
  195. OutFmt may be one of the following:
  196.  
  197. OutFmt      Extension     Offered Features (Resume)
  198. ------      ---------     --------------------------------------------------
  199. -669        ".snd"         PCM Unsigned Raw, 8 bits, Mono
  200. -AIF        ".aif"         8/16 bits, Mono/Stereo, Rate, Loop
  201. -AU         ".au"          8/16 bits LINEAR, Mono/Stereo, Rate
  202. -DMF, -DSF  ".dsf"         8/16 bits, Mono, Rate, Loop
  203. -DSM        ".wav"       8 bits, Mono, Rate, Loop
  204. -FAR, -F2R
  205. -F3R, -FSM  ".fsm"         8/16 bits, Mono, Loop
  206. -GKH, -INS  ".ins"       16 bits, Mono, Rate, Loop
  207. -IFF        ".iff"         8 bits, Mono/Stereo, Rate
  208. -MOD, -STM
  209. -MED, -OKT  ".sam"         PCM Signed Raw, 8 bits, Mono
  210. -MTM        ".raw"         PCM Unsigned Raw, 8/16 bits, Mono
  211. -PAC, -SOU  ".sou"         8/16 bits, Mono, Loop
  212. -PAT        ".pat"         8/16 bits, Mono, Rate, Loop, Multiple Waveforms
  213. -RAW        ".raw"         PCM Signed Raw, 8/16 bits INTEL, Mono/Stereo
  214. -SBK        ".sbk"         16 bits, Mono, Rate, Loop
  215. -SDS        ".sds"         8/16 bits, Mono, Rate, Loop
  216. -SDX        ".sdx"         8/16 bits, Mono, Rate, Loop
  217. -SF         ".sf"          8/16 bits, Mono/Stereo, Rate
  218. -SMP        ".smp"         16 bits, Mono, Rate, Loop
  219. -SND        ".snd"         PCM Unsigned Raw, 8/16 bits INTEL, Mono/Stereo
  220. -S3M, -S3I  ".smp"         8/16 bits, Mono/Stereo, Rate, Loop
  221. -SYW        ".w00"       16 bits, Mono, Rate, Loop
  222. -TXW        ".w00"       12 bits, Mono, Rate, Loop
  223. -UWF, -ULT  ".uwf"         8/16 bits, Mono, Loop
  224. -VOC        ".voc"         8 bits, Mono, Rate
  225. -WAV        ".wav"         8/16 bits, Mono/Stereo, Rate, Loop
  226. -XM, -XI    ".xi"       8/16 bits, Mono, Loop
  227. -OUT        depends        variable (see notes)
  228.  
  229. Notes:
  230.  
  231. If you run Convert without parameters, the program shows a small help.
  232.  
  233. If you have specified only InputPath (or SearchFile) , the program shows
  234. information on the contents of the input files (sample name, number of Bits,
  235. number of channels, loop points, etc...). For example: Convert flute.pat
  236.  
  237. ·····················································EXAMPLE Output
  238. CONVERT v1.4B, (c) 1994 Jesus Villena
  239. Converts sounds among several kinds of music and sample files
  240.  
  241.   File    : FLUTE.PAT
  242.   Text    : Copyright 1992,1993 EYE&I Productions and Advanced Gravis   
  243.   Source  : Gravis Ultrasound Patch
  244.  
  245.          Name       Length   Rate   Lo Root Hi   Ste 16B Loop   Begin    End
  246.     -------------------------------------------------------------------------- 
  247.     Flute          ············■■■■ INSTRUMENT ■■■■···········                 
  248. 00  NoName             6015  41666  A0  G#5 C8    -   x   -->     5564    6014
  249.                                                                                
  250.             1 WaveSample(s) use 12030 Bytes
  251. ······················································
  252. This file is a Gravis Ultrasound Patch and has an instrument called Flute, 
  253. which contains an unique waveform called NoName of 6015 samples, sampled at 
  254. 41666 Hz at G#5, and can be used inside the range A0..C8. The waveform is 
  255. mono (Ste= - ), 16 bits (16B = x ) and has a Forward Loop (Loop = --> ) from 
  256. the sample 5564 up to the sample 6014
  257.  
  258.  
  259. If you haven't specified OutputPath, it will use the current directory as
  260. target.
  261.  
  262. The output file generated acquires the same name that the input file, if
  263. this has a waveform. If the input file has various waveforms, the name of
  264. each file generated is the original name adding an index that differentiates
  265. it of the others (Caution: this may override existing files with equal names).
  266. If the output format is SBK, the file generated will be named sample.sbk,
  267. except if you use the @SearchFile option to specify file paths; in this
  268. case the name of the ouput file will be the same of the @SearchFile with
  269. ".sbk" as extension.
  270.  
  271. The switch -OUT has a special meaning and it is only accessible from some
  272. formats.  Basically its meaning is to extract all the waveforms that there is
  273. in the input file to individual files, with the same format (or of it same
  274. "family") that the initial.  Logically, this switch only is available for
  275. that formats that may have multiple waveforms on an only file:
  276.  
  277.         669 --> SND (each instrument to PCM RAW 8 bits Unsigned)
  278.     DMF --> DSF
  279.         FAR, F2R, F3R --> FSM
  280.         GKH --> INS (they are extracted the contained files in the file GKH)
  281.         MOD, STM, MED, OKT --> SAM (each instrument to PCM RAW 8 bits Signed)
  282.         MTM --> RAW (each instrument to PCM RAW 8/16 bits Unsigned)
  283.         PAC --> SOU
  284.         PAT --> PAT (each WaveForm is converted into a new PAT file)
  285.         ULT --> UWF
  286.         S3M --> S3I
  287.     XM  --> XI    
  288.  
  289.  
  290. ACKNOWLEDGED INPUT FORMATS
  291.  
  292. So that a file may be automatically acknowledged, It should have a header
  293. that define it.  For it, the files with format PCM RAW is not accepted like
  294. valid input formats (this format are supported using sound2wav utility).
  295. The following are the valid input formats for this version:
  296.  
  297. Format     Acknowledged features (Resume)
  298. --------   --------------------------------------------------------
  299. 669        Several waveforms, 8 bits Mono, Loop, Name, Text
  300. AIFF       1 waveform, 1..16 bits, Mono/Stereo, Rate, Loop, Name, Text
  301. AU         1 waveform, 8/16 bits LINEAR/ULAW, Mono/Stereo, Rate, Text
  302. DMF        Several waveforms, 8/16 bits Mono, Rate, Loop, Name, Text
  303. DSF        1 waveform, 8/16 bits Mono, Rate, Loop, Name
  304. DSM        Several waveforms, 8 bits Mono, Rate, Loop, Name, Text
  305. DSP
  306. FAR        Several waveforms, 8/16 bits Mono, Loop, Name, Text
  307. FSM        1 waveform, 8/16 bits Mono, Loop, Name
  308. F2R        Several waveforms, 8/16 bits Mono, Loop, Name, Text
  309. F3R        Several waveforms, 8/16 bits Mono, Loop, Name, Text
  310. GKH, INS   Several waveforms, 16 bits Mono, Rate, Loop, Name
  311. IFF        1 waveform, 8 bits, Mono/Stereo, Rate, Name, Text
  312. KRZ        Several waveforms, 16 bits Mono, Rate, Loop, Name
  313. MED        Several waveforms, 8 bits Mono, Loop, Name, Text
  314. MOD        Several waveforms, 8 bits Mono, Loop, Name, Text
  315. MTM        Several waveforms, 8/16 bits Mono, Loop, Name, Text
  316. OKT        Several waveforms, 8 bits Mono, Loop, Name
  317. PAC        Several waveforms, 8/16 bits Mono, Loop, Name, Text
  318. PAT        Several waveforms, 8/16 bits Mono, Rate, Loop, Name, Text
  319. PSM        Several waveforms, 8/16 bits Mono, Loop, Name, Text
  320. SBK        Several waveforms, 16 bits Mono, Loop, Name, Text
  321. SDK        Several waveforms, 12 bits Mono, Rate, Loop, Name, Text
  322. SDS        1 waveform, 1..16 bits Mono, Rate, Loop
  323. SDX        1 waveform, 1..16 bits Mono, Rate, Loop, Name, Text
  324. SF         1 waveform, 1..16 bits LINEAR, Mono/Stereo, Rate, Text
  325. SMP        1 waveform, 16 bits Mono, Rate, Loop, Name, Text
  326. SOU        1 waveform, 8/16 bits Mono, Loop, Name
  327. STM        Several waveforms, 8 bits Mono, Rate, Loop, Name, Text
  328. S3I        1 waveform, 8/16 bits, Mono/Stereo, Rate, Name
  329. S3M        Several waveforms, 8/16 bits, Mono/Stereo, Rate, Loop, Name, Text
  330. SYW
  331. TXW        1 waveform, 12 bits Mono, Rate
  332. ULT        Several waveforms, 8/16 bits Mono, Rate, Loop, Name, Text
  333. UNI        Several waveforms, 8/16 bits, Mono/Stereo, Loop, Name, Text
  334. UWF        1 waveform, 8/16 bits Mono, Rate, Loop, Name, Text
  335. VOC        1 waveform, 8 bits Mono, Rate, Loop, Text
  336. WAV        1 waveform, 1..16 bits, Mono/Stereo, Rate, Loop, Name, Text
  337. XI
  338. XM
  339.  
  340. NOTES
  341.  
  342. The GKH format accept Giebler Enterprises image format. The first class files
  343. have ".gkh" extension and include various Ensoniq formats. The second class
  344. have ".ed?" extension, where ? is character which indicates disk tipe (e.g.
  345. ".eda" is a ASR disk image file of Giebler Enterprises, ".edt" es a TS-10 disk
  346. image,...). These formats basically are an Ensoniq disk image.  For it, when
  347. Convert has to carry out the conversion to other formats, first the internal
  348. files are converted to MSDOS files (INS) and subsequently the conversion is
  349. carried out. I recommend you use the -OUT option with this format in order
  350. to avoid this process every time this file is accesed.
  351.  
  352. The INS and KRZ formats support multisample instruments , this is, it allows to
  353. assign various waveforms to several ranges of the MIDI keyboard. This feature
  354. is supported upon converting it to PAT if and only if the ranges are not
  355. overlapped. In this way, a complete percussion kit for example would generate
  356. simply one multisample PAT file.
  357.  
  358. All formats supported can view its internals, although it is compressed or
  359. packed. An error will be displayed if you wants to extract the waves in some
  360. file with unsupported compression or packing.
  361.  
  362. KRZ format supports stereo waveforms, but this version of convert don't
  363. recognize it, and some waves are incorrectly converted (sounds at lower pitch).
  364.  
  365. For the SBK format, Convert shows only wavesamples for the RAM area,
  366. do not display ROM based wavesamples because they cannot be extracted (for
  367. this reason, synthgm.sbk which come with SoundBlaster AWE32 don't display
  368. nothing, this bank uses only the General Midi Set stored in the ROM area of
  369. the board and the file only contains instrument info).
  370.  
  371. I have included the Searchfile (@filename) in this version mainly to let you
  372. to specify which files will compound the SBK bank and which programs will
  373. play each sound. This can be achieved using 'number=sound' (like ultrasnd.ini
  374. but using full path names). Files with multiples waves can missunderstand the
  375. number choosed (only in SBK conversion), E.g:
  376.                         1=tr808.krz
  377.                         2=kiss.wav
  378. if for example tr808.gkh has 15 wavesamples, it will be played through programs
  379. 1 to 15. The user wants kiss.wav into program 2, but it can't be because
  380. this is in use already. The program seek an available program (16) and assign
  381. it to kiss.wav.
  382.  
  383.  
  384. How to use SBK banks generated with convert?
  385. Once you have obtained a SoundFont Bank (E.g."sample.sbk") you have to download
  386. it into the AWE memory.
  387.  
  388. First, fill the "USER=" field of the "[AWE32] section
  389. of your "sbwin.ini" file, at windows directory, with the path to the bank
  390. generated (E.g."USER=C:\SB16\SFBANK\sample.sbk").
  391.  
  392. Second, inside Windows click at the AWE Control Panel and find "User Custom
  393. Synth" in the Synthesizer Bank section. Later click on Stablish and if you
  394. have memory enough, you will have the sounds in the memory.
  395.  
  396. You can now use Sequencer programs to sound the samples, specifing anyone
  397. program number you have specified.
  398.  
  399. You can load SBK files generated with Convert inside Vienna too. This version
  400. of Convert supports all feautures of SBK formats and is compatible with Vienna
  401. SF editor.
  402.  
  403. For a complete guide about formats supported by Convert, see formats.doc.
  404.  
  405.  
  406. GRATEFULNESS
  407.  
  408. I thank the disinterested help of Cris-(tobal) in the previous phase test
  409. and his contribution of formats, Jordi for his beta test and sugered ideas,
  410. as well as all anonymous sources of where I have gotten the specifications of 
  411. the formats (specially to F. Markus Jarsson for KRZ and SYW formats).
  412. I am Sorry for my SPAnglish.
  413.  
  414.  
  415. PETITIONS
  416.  
  417. Since I commented at first, this tool surged with ideas of expansion.  For it
  418. I request to all users that is interested in including other formats to the
  419. program, that they will send to me a description of the format, and if it
  420. is possible, some file(s) for testing. I am specially interested on Maui and
  421. Rio Patch, Drum and Bank format.
  422.  
  423. Also, I would desire you mail-me any bug or possible improvements of
  424. the program to usufi4@finf.upv.es
  425.  
  426.  
  427. START NOW
  428.  
  429. To start to delight with new and vibrant sounds, this is a small list
  430. where you will find them through the INTERNET.  Personally, I have more
  431. than 200 Mbytes of this sounds!!!
  432.  
  433. GKH, INS, EFE, AIFF:    ftp.reed.edu in /eps
  434.                         oak.oakland.edu in /pub2/eps
  435. TXW:                    ftp-ls7.informatik.uni-dortmund.de in /pub/tx16w
  436. SDK:                    lotus.UWaterloo.ca in /pub/sgroup
  437. SDS, SDX:               alf.uib.no in /pub/sds
  438.                         sweaty.palm.cri.nz in sds
  439. PAT:                    archive.epas.utoronto.ca in /pub/pc/ultrasound
  440.                         wuarchive.wustl.edu in /systems/ibmpc/ultrasound
  441. KRZ:                    ftp.uwp.edu in /pub/music/lists/kurzweil
  442.                         cs.utk.edu in /pub/martin/K2000
  443.                         bach.nevada.edu in /pub/K2000
  444. SBK:            moon.earthlink.net in /pub/software/AWE32
  445.  
  446. You will find a wider list on ftp.cs.ruu.nl in the file /pub/MIDI/DOC/archives
  447.  
  448. HAPPY CONVERSION!!!!!
  449.  
  450.